//
//  HomeViewController.swift
//  SchoolNews
//
//  Created by 徐涵菲 on 2018/4/23.
//  Copyright © 2018年 Wangly. All rights reserved.
//

import UIKit

//定义全局常量，尽量使用private 修饰，否则到处都可以访问
private let cellId="cellId"

class HomeViewController: BaseViewController {
    
    ///微博数据数组
    fileprivate lazy var statusList=[String]()
    
    /// 加载数据
    override func loadData() {
        
        //用网络工具加载微博数据
        let urlString="https://api.weibo.com/2/statuses/home_timeline.json";
        let params=["access_token": "2.00L7kXrF7o8m9C07d3b528840fFyOs"]
        
        NetworkManager.shared.get(urlString, parameters: params, progress: nil, success: { (_,json) in
            print(json)
        }){ (_,error) in
            print("网络请求失败\(error)")
            
            print("开始加载数据\(NetworkManager.shared)")
            
            // 模拟演示加载数据
            DispatchQueue.main.asyncAfter(deadline: DispatchTime.now()+2){
                for i in 0..<15 {
                    if self.isPullup{
                        self.statusList.append("上拉\(i)")
                    }else{
                        //将数据插入到数组顶部
                        self.statusList.insert(i.description, at: 0)
                    }
                    
                }
                print("加载数据结束")
                // 结束刷新控件
                self.refreshControl?.endRefreshing()
                
                // 刷新表格
                self.tableView?.reloadData()
            }
        }
    }
    
        /// 显示好友
        @objc fileprivate func showFriends(){
            print(#function)
            let vc=DemoViewController()
            
            //vc.hidesBottomBarWhenPushed=true
            
            // push 的动作是 nav 做的
            navigationController?.pushViewController(vc, animated: true)
        }
    }
    
    
    
    // MARK: - 表格数据源方法，具体的数据源方法实现，不需要 super


extension HomeViewController{
    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return statusList.count
    }
    
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        
        //1.取cell
        let cell=tableView.dequeueReusableCell(withIdentifier: cellId, for: indexPath)
        
        //2.设置cell
        cell.textLabel?.text=statusList[indexPath.row]
        
        //3.返回cell
        return cell
    }
    
}

// MARK: - 设置界面
extension HomeViewController{
    
    ///重写父类的方法
    override func setupTableView() {
        super.setupTableView()
        
        // 设置导航栏按钮
        
        navItem.leftBarButtonItem = UIBarButtonItem(title: "好友", target: self, action: #selector(showFriends))
        
        // 注册原型 cell
        tableView?.register(UITableViewCell.self, forCellReuseIdentifier: cellId)
    }
}
